Analyzing Java Software by Combining Metrics and Program Visualization
نویسندگان
چکیده
Shimba, a prototype reverse engineering environment, has been built to support the understanding of Java software. Shimba uses Rigi and SCED to analyze, visualize, and explore the static and dynamic aspects, respectively, of the subject system. The static software artifacts and their dependencies are extracted from Java byte code and viewed as directed graphs using the Rigi reverse engineering environment. The static dependency graphs of a subject system can be annotated with attributes, such as software quality measures, and then be analyzed and visualized using scripts through the end-user programmable interface. Shimba has recently been extended with the Chidamber and Kemerer suite of object-oriented metrics. The metrics measure properties of the classes, the inheritance hierarchy, and the interaction among classes of a subject system. Since Shimba is primarily intended for the analysis and exploration of Java software, the metrics have been tailored to measure properties of software components written in Java. We show how these metrics can be applied in the context of understandingsoftware systems using a reverse engineering environment. The static dependency graphs of the system under investigation are decorated with measures obtained by applying the object-oriented metrics to selected software components. Shimba provides tools to examine these measures, to find software artifacts that have values that are in a given range, and to detect correlations among different measures. The object-oriented analysis of the subject Java system can be investigated further by exporting the measures to a spreadsheet.
منابع مشابه
Reverse Engineering by Visualizing and Querying
The automatic extraction of high-level structural information from code is important for both software maintenance and reuse. Instead of using specialpurpose tools, we explore the use of a general-purpose data visualization system called Hy+ for querying and visualizing information about object-oriented software systems. Hy+ supports visualization and visual querying of arbitrary graph-like dat...
متن کاملUsing Oo Metrics and Rigi to Evaluate Java Software Using Oo Metrics and Rigi to Evaluate Java Software Using Oo Metrics and Rigi to Evaluate Java Software
A prototype reverse engineering environment has been built to support understanding an existing Java software. The static software artifacts and their dependencies are extracted from Java byte code and viewed with Rigi reverse engineering environment as a nested graph. Several software metric values can be calculated from the byte code and analyzed with Rigi. The metric values can be used to st...
متن کاملModularity Index Metrics for Java-Based Open Source Software Projects
Open Source Software (OSS) Projects are gaining popularity these days, and they become alternatives in building software system. Despite many failures in these projects, there are some success stories with one of the identified success factors is modularity. This paper presents the first quantitative software metrics to measure modularity level of Java-based OSS Projects called Modularity Index...
متن کاملVisualization of Object Oriented Software Measures using Self-Organizing Maps
Role of self-organizing maps in visualization and analysis of software measures is presented and discussed in this paper. We reveal how self-organizing maps can create a user-friendly and interactive visualization tool that helps software designer to inspect various alternatives and get a thorough insight into the structure of the clusters of the software modules and related metrics. We show ho...
متن کاملJaVis: A UML-Based Visualization and Debugging Environment for Concurrent Java Programs
Debugging concurrent Java programs is a difficult task because of multiple control flows and inherent nondeterminism. It requires techniques not provided by traditional debuggers such as tracing, visualization, and automated error analysis. Therefore, we have developed the JaVis environment for visualizing and debugging concurrent Java programs. The information about a running program is collec...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2000